package BLL;

import javax.swing.*;
import javax.swing.filechooser.FileSystemView;
import java.io.File;
import java.util.List;

/**
 * @author 陈显彩
 * @version 2021.0601
 * @since 1.8
 */

/**
 * 文件图标
 */
public class FileIcon {
    /**
     * 获取文件系统图标
     * @param filepath 文件路径
     * @return 系统图标
     */
    public static Icon getIcon(String filepath){
        FileSystemView fsv = FileSystemView.getFileSystemView();
        File file = new File(filepath);
        Icon icon = fsv.getSystemIcon(file);
        return icon;
    }
    
    /**
     * 获取路径下所有文件的系统图标
     * @param filepath 文件路径
     * @return 系统图标
     */
    public static Icon[] getAllIcon(String filepath){
        Icon[] icons = new Icon[1000010];
        int cnt = 0;
        if(filepath.equals("HOME")){
            List<String> Disk = MemoryInfo.getDisk();
            for(int i = 0; i < Disk.size(); ++i){
                FileSystemView fsv = FileSystemView.getFileSystemView();
                File file = new File(Disk.get(i) + "\\");
                icons[cnt++] = fsv.getSystemIcon(file);
            }
        }
        else{
            File file = new File(filepath);
            File[] files = file.listFiles();
            for(File f: files){
                if(f.exists()){
                    FileSystemView fsv = FileSystemView.getFileSystemView();
                    icons[cnt++] = fsv.getSystemIcon(f);
                }
            }
        }
        return icons;
    }
}
